package net.xrkw.server.module.client.controller.admin.softinfo.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 软件信息新增/修改 Request VO")
@Data
public class SoftInfoSaveReqVO {

    @Schema(description = "软件ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18400")
    private Long id;

    @Schema(description = "分类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7333")
    @NotNull(message = "分类ID不能为空")
    private Long categoryId;

    @Schema(description = "软件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @NotEmpty(message = "软件名称不能为空")
    private String softName;

    @Schema(description = "版本号")
    private String version;

    @Schema(description = "软件大小")
    private String size;

    @Schema(description = "适用平台")
    private String platform;

    @Schema(description = "图标地址")
    private String icon;

    @Schema(description = "软件描述", example = "你说的对")
    private String description;

    @Schema(description = "功能特点")
    private String features;

    @Schema(description = "安装指南")
    private String installGuide;

    @Schema(description = "下载次数", example = "14515")
    private Integer downloadCount;

    @Schema(description = "所需积分")
    private Integer pointsRequired;

    @Schema(description = "文件地址", example = "https://www.iocoder.cn")
    private String fileUrl;

    @Schema(description = "状态（0正常 1停用）", example = "1")
    private Integer status;

}